package com.cash.app.ui.loan.api

import com.cash.app.constant.AppConstant
import com.cash.app.manager.model.ProductIdRequest
import com.cash.app.net.BaseResponse
import com.cash.app.ui.loan.model.ApplyOrdersRequest
import com.cash.app.ui.loan.model.ApplyOrdersResponse
import com.cash.app.ui.loan.model.CanScoreResponse
import com.cash.app.ui.loan.model.PrepareRequest
import com.cash.app.ui.loan.model.PrepareResponse
import com.cash.app.ui.loan.model.RecommendDataResponse
import com.cash.app.ui.loan.model.ScoreRequest
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.POST

interface LoanAPIService {
    @POST(AppConstant.API_PREPARE)
    suspend fun getPrepareData(@Body request: PrepareRequest): Response<BaseResponse<PrepareResponse>>

    @POST(AppConstant.API_RECOMMEND)
    suspend fun getRecommendData(@Body request: ProductIdRequest): Response<BaseResponse<RecommendDataResponse>>

    @POST(AppConstant.API_BATCH_APPLY)
    suspend fun applyOrder(@Body request: ApplyOrdersRequest): Response<BaseResponse<ApplyOrdersResponse>>

    @POST(AppConstant.API_CAN_SCORING)
    suspend fun getCanScore(): Response<BaseResponse<CanScoreResponse>>

    @POST(AppConstant.API_SCORING)
    suspend fun submitScore(@Body request: ScoreRequest): Response<BaseResponse<Unit>>
} 